﻿using System.Linq;

namespace PmSadis.Repositories.Abstract
{
    /// <summary>
    /// Интерфейс хранилища, реализующего CRUD
    /// </summary>
    /// <typeparam name="T">Тип</typeparam>
    public interface IListRepository<T>
    {
        /// <summary>
        /// Получить все записи
        /// </summary>
        IQueryable<T> All { get; }

        /// <summary>
        /// Удалить объект
        /// </summary>
        /// <param name="id">Идентификатор объекта</param>
        void Delete(object id);

        /// <summary>
        /// Создать или изменить объект
        /// </summary>
        /// <param name="T">Модель</param>
        /// <returns></returns>
        object Edit(T model);
    }
}
